4cdede75967d6c7384622b28b9f3c999dc5f9c70,core/kernel/debug/source/jetbrains/mps/debug/evaluation/Evaluator.java,Evaluator,invokeStatic,#String#String#String#Object#,62

Before Change



  @Nullable
  public IValueProxy invokeStatic(String className, String name, String jniSignature, Object... args) {
    List<ReferenceType> classes = getVM().classesByName(className);
    if (classes.size() == 0) {
      LOG.error("could not find class " + className);
      return null;
    }
    ClassType referenceType = (ClassType) classes.get(0);
    List<Method> methods = referenceType.methodsByName(name, jniSignature);
    if (methods.size() == 0) {
      LOG.error("could not find method " + name + " with signature " + jniSignature + " in " + className);
      return null;
    }
    Method method = methods.get(0);

    List<Value> argValues = MirrorUtil.getValues(getThreadReference(), args);
    Value result;
    try {
      result = referenceType.invokeMethod(getThreadReference(), method, argValues, 0);
    } catch (Throwable t) {
      LOG.error("method invocation failed", t);
      return null;
    }
    return MirrorUtil.getValueProxy(result, getThreadReference());
  }

After Change



  @NotNull
  protected IValueProxy invokeStatic(String className, String name, String jniSignature, Object... args) throws EvaluationException {
    final ClassType referenceType = findClassType(className, getVM());
    final Method method = findMethod(referenceType, name, jniSignature);

    final List<Value> argValues = MirrorUtil.getValues(getThreadReference(), args);